// 默认lodash没有被打包是因为它使用commonjs, rollup默认情况下只会处理es module
const commonjs = require("@rollup/plugin-commonjs");
const nodeResolve = require("@rollup/plugin-node-resolve");

// 使用代码转换和压缩
const { babel } = require("@rollup/plugin-babel");
const terser = require("@rollup/plugin-terser");

module.exports = {
  input: "./lib/index.js", // 入口文件
  // 出口
  output: {
    format: "umd", // 打包格式
    name: "myUtils", // 打包后的全局变量
    file: "./build/bundle.umd.js", // 打包后的文件
    globals: {
      // 告诉rollup, lodash是全局变量
      lodash: "_",
    },
  },
  external: ["lodash"], // 告诉rollup, lodash是外部依赖, 不需要打包
  plugins: [
    commonjs(), // 处理commonjs
    nodeResolve(), // 处理node_modules
    babel({
      // 代码转换
      babelHelpers: "bundled", // 使用rollup内置的babelHelpers
      exclude: /node_modules/, // 排除node_modules
    }),
    terser(), // 压缩
  ],
};
